package com.ailesson.order.model.req;


import java.math.BigDecimal;
import java.time.LocalDateTime;

import lombok.Data;
import com.ailesson.common.reply.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 优惠券信息
 * 
 * @author mac
 * @email mac@gmail.com
 * @date 2024-10-12 21:32:51
 */
@Schema(name = "分页查询条件")
@Data
public class CouponInfoQueryReq extends PageParam {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@Schema(name = "id", description = "id", type = "Long")
    private Long id;
	/**
	 * 购物券类型 1 注册卷 2：推荐赠送卷
	 */
	@Schema(name = "couponType", description = "购物券类型 1 注册卷 2：推荐赠送卷", type = "Integer")
    private Integer couponType;
	/**
	 * 优惠卷名字
	 */
	@Schema(name = "couponName", description = "优惠卷名字", type = "String")
    private String couponName;
	/**
	 * 金额
	 */
	@Schema(name = "amount", description = "金额", type = "BigDecimal")
    private BigDecimal amount;
	/**
	 * 使用门槛 0->没门槛
	 */
	@Schema(name = "conditionAmount", description = "使用门槛 0->没门槛", type = "BigDecimal")
    private BigDecimal conditionAmount;
	/**
	 * 可以领取的开始日期
	 */
	@Schema(name = "startTime", description = "可以领取的开始日期", type = "LocalDateTime")
    private LocalDateTime startTime;
	/**
	 * 可以领取的结束日期
	 */
	@Schema(name = "endTime", description = "可以领取的结束日期", type = "LocalDateTime")
    private LocalDateTime endTime;
	/**
	 * 使用范围[1->全场通用]
	 */
	@Schema(name = "rangeType", description = "使用范围[1->全场通用]", type = "Integer")
    private Integer rangeType;

	/**
	 * 过期时间
	 */
	@Schema(name = "expireTime", description = "过期时间", type = "LocalDateTime")
    private LocalDateTime expireTime;
	/**
	 * 发布状态[0-未发布，1-已发布]
	 */
	@Schema(name = "publishStatus", description = "发布状态[0-未发布，1-已发布]", type = "Integer")
    private Integer publishStatus;
	/**
	 * 更新时间
	 */
	@Schema(name = "updateTime", description = "更新时间", type = "LocalDateTime")
    private LocalDateTime updateTime;


}
